﻿<html>
<body>

<h1 align="center"><a name="start"></a>Calculator sqf-expressions</h1><br>
<p>This very simple console is able to execute the expression and display the result in digestible format.
To execute code type or paste it in the input field and press <b>"Enter"</b>.
<br><br>Formatted result will be displayed in the window <b>"Results"</b>, and you can edit it in the window <b>"Buffer"</b>.
Try these examples:</p><br>
<h2>
    <a href="sqf:[weapons player, magazines player]"
                >[weapons player, magazines player]</a><br>
    <a href="sqf:configFile &gt;&gt; &quot;CfgVehicles&quot; &gt;&gt; typeOf vehicle player"
                >configFile &gt;&gt; &quot;CfgVehicles&quot; &gt;&gt; typeOf vehicle player</a><br>
    <a href="sqf:[getpos player nearObjects 100, configFile &gt;&gt; &quot;CfgWeapons&quot; &gt;&gt; &quot;Default&quot;]"
                >[getpos player nearObjects 100, configFile &gt;&gt; &quot;CfgWeapons&quot; &gt;&gt; &quot;Default&quot;]</a>
</h2>
<br>
<p>Hot keys <b>"Ctrl+C"</b> or <b>"Ctrl+Insert"</b> in the window <b>"Result"</b> puts the current line of result  on the clipboard.
If the current line opens the some container, ie, it is opening bracket of an array or a class name of the config,
then, in this case will be copied to the entire container.</p>
<br>
<p>All executed expressions are stored in the history.
Double-click or keystroke <b>"Insert"</b> on the item of history puts the selected line in the input field and executes it.
Unwanted items of <b>"History"</b> you can delete by pressing <b>"Delete"</b>.</p>
<br>
<p>Button "Watch" creates watcher screen for your code or variables  (will be displayed during the game in the top left corner).
Unnecessary watchers can be killed in the "Processes".</p>
<br>
<p>Button "As Is config" switches the display mode config:<br>
    As Is config - is shown as is, without the inherited properties.<br>
    Folded config - displays only the path in the config.<br>
    Full config - is displayed with all inherited properties.</p>
<br>
<p>Hot keys:</p><br>
<h6>
    Enter       - execute sqf-expression<br>
    Ctrl+Enter  - create watcher of sqf-expression<br>
    Ctrl+C,<br>
    Ctrl+Insert - copy line or block to clipboard<br>
    Alt+]       - jump to the end of class or array<br>
    Alt+[       - jump to the start of class or array<br>
    Alt+1       - switch to text-input<br>
    Alt+2       - switch to "Result"<br>
    Alt+3       - switch to "Edit"<br>
    Alt+4       - switch to "History"<br>
    Alt+5       - switch to "Processes"<br>
    Alt+6       - switch to "Demo"<br>
    Alt+7       - switch to "Help"<br>
    Alt+Left Arrow  - switch focus to left neighbour<br>
    Alt+Right Arrow - switch focus to right neighbour<br>
</h6>
<br>
<p>
You may create a initialization file:</p>
<br>
<h6>
// File "arma2folder\userconfig\sqf-calculator\settings"<br>
// Persistent history item, frequently used sqf-expression, snippets<br>
  _myHistory = [<br>
      'weapons player',<br>
      'magazines player',<br>
      'configFile >> "CfgVehicles" >> typeOf cursorTarget',<br>
      'call compile preprocessFileLineNumbers ".sqf"'<br>
  ];<br>
<br>
// Alt-hot-keys:<br>
  _HKInput = 2;<br>
  _HKDisplay = 3;<br>
  _HKDisplay2 = 4;<br>
  _HKHistory = 0x23;<br>
  _HKProcesses = 0x24;<br>
  _HKDemo = 0x20;<br>
  _HKHelp = 0x3B;<br>
  //_HKLeft =<br>
  //_HKRight =<br>
<br>
//<br>
// Casual shortcut<br>
//<br>
<br>
  cfg = configFile;<br>
  cfgA = configFile >> "CfgAmmo";<br>
  cfgM = configFile >> "CfgMagazines";<br>
  cfgW = configFile >> "CfgWeapons";<br>
  cfgV = configFile >> "CfgVehicles";<br>
</p>
</h6>

</body>
</html>